
%Diagramme de Classes
Le diagramme de classes met en avant l'aspect statique du projet par opposition aux autres diagrammes de ce rapport qui traitent plutôt des aspects temporels et dynamiques.
Il permet de visualiser les différentes classes et les relations qui existent entre elles.\\

Concernant les choix de représentation, celui des patrons de conception est expliqué dans la section -Patrons de Conception-.\\


Pour une partie, un plateau de jeu est instancié. Celui-ci est composé de cases vides et de cases particulières. Ces cases particulières offrent aux joueurs différentes fonctionnalités :
\begin{itemize}
\item \textbf{Case Artefact} : le vaisseau se posant sur de ces cases peut récupérer un artefact, s'il en reste et s'il n'en possède pas déjà un.
\item \textbf{Case Station Orbitale} : ces cases sont situées aux 4 coins du plateau, c'est sur la case Station Orbitale correspondant à la couleur du joueur qu'il faut rapporter les Artefacts.
\item \textbf{Case Station d'Energie} : le passage sur ces cases permet au vaisseau de se recharger en énergie, le nombre de charges en énergie dépend du vaisseau en question.
\end{itemize}
Dans notre diagramme de classes, nous avons modélisé ces différentes cases par une classe Abstraite Case dont héritent les classes CaseArtefact, CaseVide, StationOrbitale, StationEnergie afin qu'elles aient chacune les propriétés d'une Case mais qu'elles puissent aussi se spécialiser d'après les fonctionnalités décrites précédemment.\\


Le plateau est également composé d'Astéroïdes, qui s'étendent sur plusieurs cases. Les vaisseaux ne peuvent pas se déplacer sur les cases comportant une partie d'Astéroïde. Les tirs des vaisseaux sont également influencés par ces objets, mais ceci n'est pas explicité dans le diagramme de classes.\\


Les vaisseaux, au nombre de trois, ne peuvent pas tous porter un Artefact. C'est pourquoi nous avons créé une classe PorteurArtefact, héritant de la classe Vaisseau, permettant aux classes héritant de celle-ci d'avoir cette fonctionnalité. Ainsi, le Vaisseau Mère et le Battlecruser peuvent transporter un Artefact tandis que la Capsule de Survie ne le peut pas.


\begin{figure}[H]
\begin{center}
\includegraphics [width=20cm, angle=90]{img/modvue.pdf}
\end{center}
\caption{Partie du diagramme de classe : Modèle et vue}
\label{contr}
\end{figure}

\begin{figure}[H]
\begin{center}
\includegraphics [width=15cm]{img/controleur.png}
\end{center}
\caption{Partie du diagramme de classe : controleur}
\label{contr}
\end{figure}


